package com.tedu._04mybatis.mapper;

import com.tedu._04mybatis.pojo.*;
import org.apache.ibatis.annotations.*;

import java.util.List;

@Mapper
public interface WeiboMapper {
    /*
    @Insert("INSERT INTO weibo(content,created,user_id) " +
            "VALUES(#{content},#{created},#{userId})")
            */
    int insertWeibo(Weibo weibo);

    //@Delete("DELETE FROM weibo WHERE id=#{id}")
    int deleteWeiboById(Integer id);

    /*
    @Update("UPDATE weibo " +
            "SET content=#{content},created=#{created},user_id=#{userId} " +
            "WHERE id=#{id}")
            */
    int updateWeiboById(Weibo weibo);

    /*
    @Select("SELECT id,content,created,user_id userId " +
            "FROM weibo " +
            "WHERE id=#{id}")
            */
    Weibo selectWeiboById(Integer id);

    /*
    @Select("SELECT id,content,created,user_id userId " +
            "FROM weibo")
            */
    List<Weibo> selectAllWeibo();

    /*
    @Select("SELECT content,created FROM weibo WHERE id=#{id}")
    */
    WeiboVO1 selectWeiboVO1(Integer id);

    /*
    @Select("SELECT content,created,user_id userId FROM weibo")
    */
    List<WeiboVO2> selectAllWeiboVO2();

    int dynamicUpdateWeibo(Weibo weibo);

    int dynamicDeleteWeibo(Integer[] ids);

    int dynamicDeleteWeibo2(List<Integer> ids);

    int countWeibo();

    WeiboVO3 selectWeiboVO3(Integer id);

    List<WeiboVO3> selectAllWeiboVO3();

    WeiboVO4 selectWeiboCommentById(Integer id);
}
